
import os

#1、方法一

def sumfile(filepath):
    
    size = 0 #定义初值，用于计算文件大小
    
    for root,dirs,files in os.walk(filepath): #用walk遍历文件夹下所有的文件，root是文件夹路径
        for f in files:
            
            size += os.path.getsize(os.path.join(root,f))#获取每个文件的大小累加
            print(os.path.join(root,f)) #输出每个文件的绝对路径            
#        print("root:",root) #文件夹路径
        
    return size

a = sumfile("E:\python3.6\py1")
print("文件夹大小1：",a,'字节')


#2、方法二

def getsumfile(filepath):
     
    size = 0 #定义初值，用于计算文件大小
    fileList = os.listdir(filepath) #获取文件列表
    
    for f in fileList: #遍历文件列表
        
        newpath = os.path.join(filepath,f) #获取每个文件及文件夹路径
        
        if os.path.isdir(newpath): #判断是否是文件夹
            a = getsumfile(newpath) #递归获得每个目录下文件的大小
            size += a #累加每个目录大小
                    
        else:
            size += os.path.getsize(newpath) #累加每个文件大小
       
    return size

b = getsumfile("E:\python3.6\py1")

print("文件夹大小2：",b,'字节')

